package com.workcell.workdata.xthings.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.workcell.workdata.xthings.constant.ExtOutputAttributes;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * 码库考勤机信息表
 *
 * @author zhangguangrui
 * @since 2023-03-16
 */
@Data
@TableName("t_code_time_clock")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "考勤机二维码")
public class CodeTimeClock extends Model<CodeTimeClock> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("二维码信息ID")
    @TableId("code_id")
    private String codeId;

    @ApiModelProperty("打卡机ID")
    @TableField("tc_id")
    private Integer tcId;

    @ExtOutputAttributes(key = "设备编号")
    @ApiModelProperty("厂家设备编号")
    private String deviceNo;

    @ApiModelProperty("短链码")
    @TableField("chain_num")
    private String chainNum;

    @ExtOutputAttributes(key = "设备名称")
    @ApiModelProperty("设备名称")
    private String name;

    @ExtOutputAttributes(key = "厂商名称")
    @ApiModelProperty("厂商名称")
    private String manufacturer;

    @ExtOutputAttributes(key = "产品类型")
    @ApiModelProperty("产品类型")
    private String dcProductType;

    @ExtOutputAttributes(key = "型号")
    @ApiModelProperty("型号")
    private String dcModel;

    @ExtOutputAttributes(key = "状态")
    @ApiModelProperty("状态")
    private String state;

    @ApiModelProperty("边缘服务器ip")
    @ExtOutputAttributes(key = "边缘服务器ip")
    private String ip;

    @ApiModelProperty("边缘服务器端口号")
    @TableField("port")
    private String port;

    @ApiModelProperty("打卡机ip")
    @TableField("time_clock_ip")
    private String timeClockIp;

    @ApiModelProperty("打卡机登录用户名")
    @TableField("user_name")
    private String userName;

    @ApiModelProperty("打卡机登录密码")
    @TableField("password")
    private String password;

    @ApiModelProperty("创建人")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty("更新人")
    @TableField("update_by")
    private String updateBy;

    @ApiModelProperty("更新时间")
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 厂商编码
     */
    @ApiModelProperty(value="厂商编码")
    @ExtOutputAttributes(key = "厂商编码")
    private String manufacturerCode;

}
